package com.healthtop.dao;

import com.healthtop.mapper.XsUserMapper;
import com.healthtop.model.XsUser;
import com.healthtop.model.XsUserExample;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class XsUserDao {

    @Autowired
    private XsUserMapper xsUserMapper;

    public List<XsUser> selectUserByUsername(String username) {
        XsUserExample example = new XsUserExample();
        example.createCriteria().andUserNameEqualTo(username).andPhoneNumEqualTo(username);
        return xsUserMapper.selectByExample(example);
    }

    public void insert(XsUser user) {
        xsUserMapper.insert(user);
    }

    public List<XsUser> selectUserAll() {
        XsUserExample example = new XsUserExample();
        example.createCriteria().andDelFalgEqualTo("0");
        return xsUserMapper.selectByExample(example);
    }

    public XsUser selectUserByUserId(long userId) {
        return xsUserMapper.selectByPrimaryKey(userId);
    }

    public void update(XsUser user) {
        xsUserMapper.updateByPrimaryKeySelective(user);
    }

    public int selectUserByUserName(long userId, String userName) {
        XsUserExample xsUserExample = new XsUserExample();
        xsUserExample.createCriteria().andUserNameEqualTo(userName).andDelFalgEqualTo("0").andUserIdNotEqualTo(userId);
        return xsUserMapper.countByExample(xsUserExample);
    }

    public int selectUserByPhoneNum(long userId, String phoneNum) {
        XsUserExample xsUserExample = new XsUserExample();
        xsUserExample.createCriteria().andPhoneNumEqualTo(phoneNum).andDelFalgEqualTo("0").andUserIdNotEqualTo(userId);
        return xsUserMapper.countByExample(xsUserExample);
    }
}
